import router from '@/router/index'
import store from '@/store/index'

// 白名单
const whiteList = ['/login']

/**
 * 路由前置守卫
 */
router.beforeEach(async (to, from, next) => {
    // 1.用户已经登陆，不允许进入login
    // 2.用户未登陆，只允许进入login
    if (store.getters.token) {
        // 1.用户已经登陆，不允许进入login
        if (to.path === '/login') {
            next('/')
        } else {
            // 判断用户资料是否存在，如果存在，则获取用户信息
            if (!store.getters.hasUserInfo) {
                await store.dispatch('user/getUserInfo')
            }
            next()
        }
    } else {
        // 2.用户未登陆，只允许进入login
        if (whiteList.indexOf(to.path) > -1) {
            next()
        } else {
            next('/login')
        }
    }
})
